package com.ejlchina.common.captcha;


/**
 * 
 * 短信验证码管理器
 * 
 * @author Troy.Zhou
 *
 */
public interface CaptchaManager {

	public static enum VerifyResult {
		SUCSESS, // 成功
		INVALID, // 无效验证码
		EXPIRED // 已过期
	}

	public static enum SendResult {
		SUCSESS, // 成功
		MORE_COUNT, // 次数太多
		FAIL // 发送失败
	}
	
	/**
	 * 发送验证码
	 * @param phone 手机号 
	 * @return 发送结果
	 */
	SendResult sendCapcha(String phone);
	
	/**
	 * 发送验证码
	 * @param phone 手机号 
	 * @param tmplName 使用的模板名
	 * @return 发送结果
	 */
	SendResult sendCapcha(String phone, String msgTmplName);
	
	/**
	 * 校验验证码
	 * @param phone 手机号
	 * @param captcha 验证码
	 * @return 校验结果
	 */
	VerifyResult verify(String phone, String captcha);
	
}
